package uploaddemo.demo.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * ClassName:WebMvcConfiguration
 * Package:uploaddemo.demo.config
 * Description: 实现资源映射
 *
 * @date:2022/4/25 10:02
 * @author:动力节点
 */
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {

    // 这个就是springboot中的springmvc让程序开发者去配置文件上传的额外资源文件
    @Value("${file.staticPatternPath}")
    private String staticPatternPath;
    @Value("${file.uploadFolder}")
    private String uploadFolder;
    /**
     * 这段代码意思就配置一个拦截器，
     * 如果访问路径是addResourceHandler中的filepath
     * 这个路径 那么就 映射到访问本地的addResourceLocations 的参数的这个路径上，
     * 这样就可以让别人访问服务器的本地文件了，比如本地图片或者本地音乐视频什么的。
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //staticPatternPathup=Images/**  uploadFolder=D:/upload/
        registry.addResourceHandler(staticPatternPath).addResourceLocations("file:"+uploadFolder);
    }
}
